package com.max.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 
 * @ClassName Constant
 * @Description 静态资源类信息操作工具类
 * @author 陈新建
 * @date 2018年4月23日 下午4:02:56
 */
public final class Constant {
	static {
		init("/config/config.properties");
	}

	/**
	 * 静态资源路径
	 */
	public static final String STATIC_PATH = getProperty("StaticPath", "");

	/**
	 * js资源路径
	 */
	public static final String JS_PATH = getProperty("js.path", "");

	/**
	 * 当前项目路径
	 */
	public static final String ROOT_PATH = getProperty("root.path", "");
	
    /**
     * 是否使用nginx,空则不使用，不为空则为获取IP的标识
     */
    public static final String PROXY_IP_NAME = getProperty("proxy.ip.name", "");

	/**
	 * Properties对象
	 */
	private static Properties p;

	private Constant() {

	}

	/**
	 * 
	 * <p>
	 * <b>方法描述：</b>初始化配置文件方法
	 * </p>
	 * 
	 * @param propertyFileName
	 *            配置文件名称
	 */
	protected static void init(String propertyFileName) {
		InputStream in = null;
		p = new Properties();
		try {
			in = Constant.class.getResourceAsStream(propertyFileName);
			p.clear();
			if (in != null) {
				p.load(in);
			}

		} catch (IOException e) {
		} finally {
			if (in != null) {
				try {
					in.close();
				} catch (IOException e) {
				}
			}
		}
	}

	/**
	 * 
	 * <p>
	 * <b>方法描述：</b>获取配置参数值
	 * </p>
	 * 
	 * @param key
	 *            Properties对应key值
	 * @param defaultValue
	 *            默认值
	 * @return 配置参数值
	 */
	public static String getProperty(String key, String defaultValue) {
		return p.getProperty(key, defaultValue);
	}
}